{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1044\deflangfe1044\themelang1044\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}
{\f36\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f39\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}
{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f40\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\f41\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f43\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f44\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f46\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f47\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f48\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f60\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
{\f61\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f63\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f64\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f65\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
{\f66\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f67\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f68\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f380\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
{\f381\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f383\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f384\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f387\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
{\f388\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f400\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\f401\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\f403\fbidi \froman\fcharset161\fprq2 Cambria Greek;}
{\f404\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\f407\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\f408\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\f410\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
{\f411\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f413\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f414\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f417\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
{\f418\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f430\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f431\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f433\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}
{\f434\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f437\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f438\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;
\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red33\green121\blue142;\red45\green162\blue191;
\red22\green80\blue94;\red64\green64\blue64;\caccentone\ctint255\cshade255\red79\green129\blue189;\red52\green52\blue52;\ctextone\ctint127\cshade255\red128\green128\blue128;\caccenttwo\ctint255\cshade255\red192\green80\blue77;
\caccentone\ctint255\cshade191\red54\green95\blue145;\red250\green250\blue250;\red43\green145\blue175;\red0\green0\blue139;\red163\green21\blue21;\red43\green175\blue154;}{\*\defchp \fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap 
\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
\af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1044\langfe1044\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 \snext0 \sqformat \spriority0 \styrsid5124473 Normal;}{\s1\ql \li0\ri0\sb480\sl276\slmult1
\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 \b\fs28\cf17\lang1044\langfe1044\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 
\sbasedon0 \snext0 \slink15 \sqformat \spriority9 \styrsid5124473 heading 1;}{\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs26\alang1025 
\ltrch\fcs0 \b\fs26\cf18\lang1044\langfe1044\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext0 \slink16 \sunhideused \sqformat \spriority9 \styrsid5124473 heading 2;}{\s3\ql \li0\ri0\sb200\sl276\slmult1
\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 \b\fs22\cf18\lang1044\langfe1044\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 
\sbasedon0 \snext0 \slink17 \sunhideused \sqformat \spriority9 \styrsid5124473 heading 3;}{\s4\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel3\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
\ab\ai\af0\afs22\alang1025 \ltrch\fcs0 \b\i\fs22\cf18\lang1044\langfe1044\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext0 \slink18 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid5124473 heading 4;}{
\s5\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel4\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\cf19\lang1044\langfe1044\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext0 \slink19 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid5124473 heading 5;}{\s6\ql \li0\ri0\sb200\sl276\slmult1
\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel5\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ai\af0\afs22\alang1025 \ltrch\fcs0 \i\fs22\cf19\lang1044\langfe1044\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 
\sbasedon0 \snext0 \slink20 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid5124473 heading 6;}{\s7\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel6\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
\ai\af0\afs22\alang1025 \ltrch\fcs0 \i\fs22\cf20\lang1044\langfe1044\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext0 \slink21 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid5124473 heading 7;}{
\s8\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel7\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
\fs20\cf18\lang1044\langfe1044\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext0 \slink22 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid5124473 heading 8;}{\s9\ql \li0\ri0\sb200\sl276\slmult1
\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel8\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ai\af0\afs20\alang1025 \ltrch\fcs0 \i\fs20\cf20\lang1044\langfe1044\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 
\sbasedon0 \snext0 \slink23 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid5124473 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1044\langfe1044\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 \snext11 \ssemihidden \sunhideused 
Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\f36\fs28\cf17 \sbasedon10 \slink1 \slocked \spriority9 \styrsid5124473 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\f36\fs26\cf18 
\sbasedon10 \slink2 \slocked \spriority9 \styrsid5124473 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\f36\cf18 \sbasedon10 \slink3 \slocked \spriority9 \styrsid5124473 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 
\b\i\f36\cf18 \sbasedon10 \slink4 \slocked \ssemihidden \spriority9 \styrsid5124473 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f36\cf19 \sbasedon10 \slink5 \slocked \ssemihidden \spriority9 \styrsid5124473 Heading 5 Char;}{\*\cs20 
\additive \rtlch\fcs1 \af0 \ltrch\fcs0 \i\f36\cf19 \sbasedon10 \slink6 \slocked \ssemihidden \spriority9 \styrsid5124473 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \i\f36\cf20 
\sbasedon10 \slink7 \slocked \ssemihidden \spriority9 \styrsid5124473 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f36\fs20\cf18 \sbasedon10 \slink8 \slocked \ssemihidden \spriority9 \styrsid5124473 Heading 8 Char;}{\*\cs23 \additive 
\rtlch\fcs1 \af0 \ltrch\fcs0 \i\f36\fs20\cf20 \sbasedon10 \slink9 \slocked \ssemihidden \spriority9 \styrsid5124473 Heading 9 Char;}{\s24\ql \li0\ri0\sa200\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
\ab\af0\afs18\alang1025 \ltrch\fcs0 \b\fs18\cf21\lang1044\langfe1044\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext0 \ssemihidden \sunhideused \sqformat \spriority35 \styrsid5124473 caption;}{
\s25\ql \li0\ri0\sa300\widctlpar\brdrb\brdrs\brdrw20\brsp80\brdrcf18 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\contextualspace \rtlch\fcs1 \af0\afs52\alang1025 \ltrch\fcs0 
\fs52\expnd1\expndtw5\cf22\lang1044\langfe1044\kerning28\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext0 \slink26 \sqformat \spriority10 \styrsid5124473 Title;}{\*\cs26 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 
\f36\fs52\expnd1\expndtw5\cf22\kerning28 \sbasedon10 \slink25 \slocked \spriority10 \styrsid5124473 Title Char;}{\s27\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ilvl1\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
\ai\af0\afs24\alang1025 \ltrch\fcs0 \i\fs24\expnd3\expndtw15\cf18\lang1044\langfe1044\loch\f36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext0 \slink28 \sqformat \spriority11 \styrsid5124473 Subtitle;}{\*\cs28 \additive 
\rtlch\fcs1 \af0 \ltrch\fcs0 \i\f36\fs24\expnd3\expndtw15\cf18 \sbasedon10 \slink27 \slocked \spriority11 \styrsid5124473 Subtitle Char;}{\*\cs29 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b \sbasedon10 \sqformat \spriority22 \styrsid5124473 Strong;}{\*
\cs30 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \i \sbasedon10 \sqformat \spriority20 \styrsid5124473 Emphasis;}{\s31\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 \snext31 \sqformat \spriority1 \styrsid5124473 No Spacing;}{\s32\ql \li720\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1044\langfe1044\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 
\sbasedon0 \snext32 \sqformat \spriority34 \styrsid5124473 List Paragraph;}{\s33\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ai\af0\afs22\alang1025 \ltrch\fcs0 
\i\fs22\cf1\lang1044\langfe1044\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext0 \slink34 \sqformat \spriority29 \styrsid5124473 Quote;}{\*\cs34 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \i\cf1 
\sbasedon10 \slink33 \slocked \spriority29 \styrsid5124473 Quote Char;}{\s35\ql \li936\ri936\sb200\sa280\sl276\slmult1\widctlpar\brdrb\brdrs\brdrw10\brsp80\brdrcf18 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin936\lin936\itap0 \rtlch\fcs1 
\ab\ai\af0\afs22\alang1025 \ltrch\fcs0 \b\i\fs22\cf18\lang1044\langfe1044\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext0 \slink36 \sqformat \spriority30 \styrsid5124473 Intense Quote;}{\*\cs36 \additive \rtlch\fcs1 
\af0 \ltrch\fcs0 \b\i\cf18 \sbasedon10 \slink35 \slocked \spriority30 \styrsid5124473 Intense Quote Char;}{\*\cs37 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \i\cf23 \sbasedon10 \sqformat \spriority19 \styrsid5124473 Subtle Emphasis;}{\*\cs38 \additive 
\rtlch\fcs1 \af0 \ltrch\fcs0 \b\i\cf21 \sbasedon10 \sqformat \spriority21 \styrsid5124473 Intense Emphasis;}{\*\cs39 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \scaps\ul\cf24 \sbasedon10 \sqformat \spriority31 \styrsid5124473 Subtle Reference;}{\*\cs40 
\additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\scaps\ul\expnd1\expndtw5\cf24 \sbasedon10 \sqformat \spriority32 \styrsid5124473 Intense Reference;}{\*\cs41 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\scaps\expnd1\expndtw5 
\sbasedon10 \sqformat \spriority33 \styrsid5124473 Book Title;}{\s42\ql \li0\ri0\sb480\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 
\b\fs28\cf25\lang1044\langfe1044\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1044\langfenp1044 \sbasedon1 \snext0 \ssemihidden \sunhideused \sqformat \spriority39 \styrsid5124473 TOC Heading;}{\s43\ql \li0\ri0\widctlpar
\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 
\fs20\lang1044\langfe1044\loch\f2\hich\af2\dbch\af31505\cgrid\langnp1044\langfenp1044 \sbasedon0 \snext43 \slink44 \sunhideused \styrsid3088931 HTML Preformatted;}{\*\cs44 \additive \rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20 
\sbasedon10 \slink43 \slocked \styrsid3088931 HTML Preformatted Char;}}{\*\listtable{\list\listtemplateid1055970148\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext
\leveltemplateid68419599\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid68419609\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid68419611\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2880\lin2880 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid68419599\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid68419609\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid68419611\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li5040\lin5040 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid68419599\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid68419609\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li6480\lin6480 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid68419611\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li7200\lin7200 }{\listname ;}\listid317618461}{\list\listtemplateid1577641550\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid68419585\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360
\levelindent0{\leveltext\leveltemplateid68419587\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid68419589\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid68419585
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid68419587\'01o;}{\levelnumbers;}\f2\fbias0 
\fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid68419589\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li5040\lin5040 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid68419585\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23
\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid68419587\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li6480\lin6480 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid68419589\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li7200\lin7200 }{\listname ;}\listid2112623554}}{\*\listoverridetable{\listoverride\listid2112623554
\listoverridecount0\ls1}{\listoverride\listid317618461\listoverridecount0\ls2}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0
\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0
\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid948144\rsid1915853\rsid2506724\rsid3088931\rsid3096956\rsid3547975\rsid4131775\rsid5124473\rsid5908906\rsid6319459\rsid6443959\rsid7610232
\rsid7624899\rsid8936603\rsid9635584\rsid11682118\rsid12335729\rsid12351560\rsid12851489\rsid13320215\rsid13323292\rsid13643208\rsid14489023\rsid15144033\rsid15929817\rsid16473444}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0
\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator JonnyB}{\creatim\yr2011\mo8\dy11\hr9\min12}{\revtim\yr2012\mo2\dy19\hr12\min19}{\version14}{\edmins2976}{\nofpages8}{\nofwords2292}{\nofchars12150}{\nofcharsws14414}{\vern49273}}
{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1417\margr1417\margt1417\margb1417\gutter0\ltrsect 
\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120
\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot11682118 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\headery708\footery708\colsx708\sectdefaultcl\sftnbj {\*\pnseclvl1
\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5
\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang 
{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\s1\ql \li0\ri0\sb480\sl276\slmult1
\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 
\b\fs28\cf17\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12351560\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 Rule Tutorial Sample 
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 
\ab\af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid5124473 \hich\af0\dbch\af31505\loch\f0 These samples is created to give developers a }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 
\f0\lang1033\langfe1044\langnp1033\insrsid11682118\charrsid5124473 \hich\af0\dbch\af31505\loch\f0 kick start and}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid5124473 \hich\af0\dbch\af31505\loch\f0 
 understanding of the possibilities the Csla rule engine provides to you. The rule engine \hich\af0\dbch\af31505\loch\f0 is very powerful and yet Csla by default only gives you a limited number of rules. 
\par \hich\af0\dbch\af31505\loch\f0 Included in this sample is a collection of real life production rules that you can incorporate into your own projects. An extensive set of rules, inc}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 
\f0\lang1033\langfe1044\langnp1033\insrsid13643208 \hich\af0\dbch\af31505\loch\f0 l}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid5124473 \hich\af0\dbch\af31505\loch\f0 uding th}{\rtlch\fcs1 \ab\af0 
\ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid13643208 \hich\af0\dbch\af31505\loch\f0 e rules in these samples,}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid5124473 \hich\af0\dbch\af31505\loch\f0  
\hich\af0\dbch\af31505\loch\f0 can b\hich\af0\dbch\af31505\loch\f0 e downloaded from }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid5124473 \hich\af0\dbch\af31505\loch\f0 
HYPERLINK "http://cslacontrib.codeplex.com"}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid11682118\charrsid5124473 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5a00000068007400740070003a002f002f00630073006c00610063006f006e0074007200690062002e0063006f006400650070006c00650078002e0063006f006d002f000000795881f43b1d7f48af2c825dc4852763
00000000a5ab000000480076}}}{\fldrslt {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \f0\ul\cf2\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid5124473 \hich\af0\dbch\af31505\loch\f0 http://cslacontrib.codeplex.com}}}\sectd \ltrsect
\linex0\headery708\footery708\colsx708\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid5124473 \hich\af0\dbch\af31505\loch\f0   }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\f0\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid5124473 
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 
\b\fs26\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid13323292 \hich\af36\dbch\af31505\loch\f36 Introduction to rules
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid7610232 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid13643208 \hich\af31506\dbch\af31505\loch\f31506 AuthorizationRules inherit
\hich\af31506\dbch\af31505\loch\f31506  from Csla.Rules.AuthorizationRule and checks if the user has access to a given AuthorizationAction. \hich\af31506\dbch\af31505\loch\f31506 T\hich\af31506\dbch\af31505\loch\f31506 he
\hich\af31506\dbch\af31505\loch\f31506  \hich\af31506\dbch\af31505\loch\f31506 Execute method gets a AuthorizationContext and must set the HasAccess }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid7610232\charrsid7610232 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid13323292 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12335729 \hich\af36\dbch\af31505\loch\f36 InputProperties}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid13323292 
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12335729 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12335729 \hich\af31506\dbch\af31505\loch\f31506 Use input prop
\hich\af31506\dbch\af31505\loch\f31506 erties for value types only! Starting with Csla 4.2, InputProperties is now automatically dependiencies meaning that you can now also define bidirectional dependencies. }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid12335729\charrsid12335729 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid13323292 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid13323292 \hich\af36\dbch\af31505\loch\f36 RuleContext
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13323292 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid13323292 \hich\af31506\dbch\af31505\loch\f31506 RuleContext }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid12335729 \hich\af31506\dbch\af31505\loch\f31506 provide input values and allows you to set Error/Warn/Info mes\hich\af31506\dbch\af31505\loch\f31506 sages with AddXYZMessage and update properties in the BO by\\
AddOutValue.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid13323292 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12335729 \hich\af31506\dbch\af31505\loch\f31506 For rules that allow different RuleSeverity you can also interact directly with the RuleContext.Results collection \hich\f31506 \endash 
\loch\f31506  as is the case for the rules described in RuleTutorial and the bas\hich\af31506\dbch\af31505\loch\f31506 ic built-in rules in CSLA.
\par \hich\af31506\dbch\af31505\loch\f31506 AddOutValue will update field values in the BO. The default AddOutValue will update PrimaryProperty. Be aware that AddOutValue on other fields require that the field is in the AffectedProperties list.  }{\rtlch\fcs1 
\af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12335729\charrsid13323292 
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 
\b\fs26\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12351560\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 1. Authorization
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12351560\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 1.1 Autho
\hich\af36\dbch\af31505\loch\f36 rization on factory methods
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid11682118 \hich\af0\dbch\af31505\loch\f0 
Csla DataPortal will enforce authorization rules for "root" objects}{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af0\dbch\af31505\loch\f0  and the following AuthorizationActions: 
\par 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid11682118 \hich\af0\dbch\af31505\loch\f0 Please be aware that the Child Data\hich\af0\dbch\af31505\loch\f0 
Portal methods down NOT enforce authorization rules so to check for authorization on child merthods you MUST add this into your own code. 
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 
\b\fs26\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12351560\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 1.}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12351560\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 
 Authorization of methods
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid11682118 \hich\af0\dbch\af31505\loch\f0 
Just like properties you can also register methods and attach authz rules to these. 
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 
\b\fs26\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 1.3
\hich\af36\dbch\af31505\loch\f36  Authorization read/write property
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af31506\dbch\af31505\loch\f31506 
Use the buildin authz rules to grant read and/or write on properties. 
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 
\b\fs26\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 1.4 Custom Authz rules
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af31506\dbch\af31505\loch\f31506 
Write your own business rules for authorization. 
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 
\b\fs26\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2. Property business rules }{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118 
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5124473 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5124473 \hich\af31506\dbch\af31505\loch\f31506 
Writing good property business rules is hard and \hich\af31506\dbch\af31505\loch\f31506 especially writing generic rules and asynchronous rules. \line Csla has a few rules by default and }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid9635584 \hich\af31506\dbch\af31505\loch\f31506 these examples will give you a great addition to these rules.
\par \hich\af31506\dbch\af31505\loch\f31506 Y}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5124473 \hich\af31506\dbch\af31505\loch\f31506 ou should strive to create generic rules }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid9635584 \hich\af31506\dbch\af31505\loch\f31506 whenever possible. That way you will have a lesser number of rules and less test code.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5124473 

\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1044\langnp1033\insrsid5124473\charrsid9635584 \hich\af31506\dbch\af31505\loch\f31506 
Rules that are deeply tied to a certain business object type and require access to internal and/or  private methods in the BO should be placed inside the BO as an inner \hich\af31506\dbch\af31505\loch\f31506 class. This will make these rules much }{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5124473\charrsid9635584 \hich\af31506\dbch\af31505\loch\f31506 easier and smaller. 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid9635584\charrsid9635584 \hich\af31506\dbch\af31505\loch\f31506 A g}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid9635584 \hich\af31506\dbch\af31505\loch\f31506 
reat new feature is the possibility to override the message for all the standard business rules. You will no longer have to write your own rule or subclass in order to set a custom message. 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid9635584\charrsid9635584 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2
\hich\af36\dbch\af31505\loch\f36 .1 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 Builtin property rules}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3088931 \hich\af31506\dbch\af31505\loch\f31506 
The builtin business rules is located in the Csla.Rules.CommonRules namespace. These include the basic validation rules and authorization rules. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 The building validation rules are: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3088931 
\par }\pard\plain \ltrpar\s43\ql \li720\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid8936603 
\cbpat26 \rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 \fs20\lang1044\langfe1044\loch\af2\hich\af2\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\hich\af39\dbch\af31505\loch\f39 Required}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \tab \tab }{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\hich\af31506\dbch\af31505\loch\f31506 Required string field}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \hich\af39\dbch\af31505\loch\f39   }{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \line \hich\af39\dbch\af31505\loch\f39 MinLength}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \tab \tab }{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 
\f31506\fs22\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 Minimum string length}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \line 
\hich\af39\dbch\af31505\loch\f39 MaxLength}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \tab \tab }{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\hich\af31506\dbch\af31505\loch\f31506 Maximium string length\line }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 MinValue<T>}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \tab }{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 Minimum value (of T)\line }{\rtlch\fcs1 
\af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 MaxValue<T>}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \hich\af39\dbch\af31505\loch\f39 
    \tab }{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 Maximium value (of T)}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \line \hich\af39\dbch\af31505\loch\f39 RegExMatch}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \tab \tab }{\rtlch\fcs1 \af0\afs22 
\ltrch\fcs0 \f31506\fs22\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 Regular expression}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 
\hich\af39\dbch\af31505\loch\f39  \line }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 InfoMessage}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \tab }{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 
Set a message with level Information on field}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \line }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\hich\af39\dbch\af31505\loch\f39 Lambda}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \tab \tab }{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\hich\af31506\dbch\af31505\loch\f31506 Lambda expression rule}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid13323292 \hich\af39\dbch\af31505\loch\f39 Depende\hich\af39\dbch\af31505\loch\f39 ncy\tab \tab }{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 
\f31506\fs22\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 Dependency rule 
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8936603 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.2 DataAnnotation rules 

\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3088931 \hich\af31506\dbch\af31505\loch\f31506 
DataAnnotation rules can be placed on the property declaration and will always be added with priority = 0. You must make sure to call the base class AddRules as it is this method will look for DataAnnotation\hich\af31506\dbch\af31505\loch\f31506 
 rules and register these rules for this type. 
\par \hich\af31506\dbch\af31505\loch\f31506 You can mix DataAnnotation rules and Csla BusinessRules for the same property. Just be aware of the Priority. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15929817 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3088931 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 You could f.ex add a \'93}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15929817 
\hich\af31506\dbch\af31505\loch\f31506 Short circuiting }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3088931 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 rule\'94\loch\f31506  }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid15929817 \hich\af31506\dbch\af31505\loch\f31506 like StopIfNotCanWrite (see chapter 2.10) with Prior\hich\af31506\dbch\af31505\loch\f31506 ity -1 and us the DataAnnotation Required rule to make a field required }{
\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af31506\dbch\af31505\loch\f31506 only}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15929817 
\hich\af31506\dbch\af31505\loch\f31506  when the user is allowed to edit the field \hich\f31506 \endash \loch\f31506  typically combined with an Authorization rule on that field. }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid3088931 
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3088931 \cbpat26 {\rtlch\fcs1 
\af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~\~\~\~\hich\af39\dbch\af31505\loch\f39 [}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf27\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 Required}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 
\hich\af39\dbch\af31505\loch\f39 ]\~\~\~\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3088931 \line \hich\af39\dbch\af31505\loch\f39     }{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf11\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 //\~DataAnnota}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf11\lang1033\langfe1044\langnp1033\insrsid3088931 
\hich\af39\dbch\af31505\loch\f39 tion\~must\~be\~placed\~here\~on\~the}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf11\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39  property\~-\~not\~the\~PropertyInfo}
{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 
\par \~\~\~\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 public}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 string}{\rtlch\fcs1 
\af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~\hich\af39\dbch\af31505\loch\f39 Name
\par \~\~\~\~\{
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 get}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~\{\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 return}{\rtlch\fcs1 
\af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~\hich\af39\dbch\af31505\loch\f39 GetProperty(NameProperty);\~\}
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 set}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~\{\~\hich\af39\dbch\af31505\loch\f39 SetProperty(NameProperty,\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 value}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 
\hich\af39\dbch\af31505\loch\f39 );\~\}
\par \~\~\~\~\}
\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3088931 
\hich\af31506\dbch\af31505\loch\f31506  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\s43\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3088931 \cbpat26 
\rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 \fs20\lang1044\langfe1044\loch\af2\hich\af2\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid3088931 \hich\af39\dbch\af31505\loch\f39  }{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 protected}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 override}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 void}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~\hich\af39\dbch\af31505\loch\f39 AddBusinessRules()
\par \~\~\~\~\{
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf11\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 //\~call\~base\~class\~\hich\af39\dbch\af31505\loch\f39 implementation\~to\~add\~data\~annotation\~rules\~
to\~BusinessRules\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 
\hich\af39\dbch\af31505\loch\f39 base}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 .AddBusinessRules();
\par \hich\af39\dbch\af31505\loch\f39  
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf11\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 //\~}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 
\b\f39\cf28\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \hich\af39\dbch\af31505\loch\f39 NOTE:\~DataAnnotation\~rules\~is\~always\~added\~with\~Priority\~=\~0}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf11\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid3088931 
\par \~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid3088931\charrsid13323292 \}
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 
2.3 Set a custom message on business rule
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15929817 \hich\af31506\dbch\af31505\loch\f31506 All rules that inherit from Csla.BusinessR
\hich\af31506\dbch\af31505\loch\f31506 ules.CommonRules.CommonBusinessRule will allow you to override the default message and set a custom message. 
\par \hich\af31506\dbch\af31505\loch\f31506 These sample show how to set at constant (non-localizable) message: 
\par }\pard\plain \ltrpar\s43\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15929817 \cbpat26 
\rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 \fs20\lang1044\langfe1044\loch\af2\hich\af2\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\~\~\~}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 protected}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 override}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 void}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~
\hich\af39\dbch\af31505\loch\f39 AddBusinessRules()
\par \~\~\~\~\{
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf11\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 //\~add\~business\~ru\hich\af39\dbch\af31505\loch\f39 les\~-\~use\~MessageText\~to\~set\~a\~custom\~
constant\~string\~message}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule(}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 Required}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 (NameProperty)
\par \~\~\~\~\~\~\~\~\~\~\{\hich\af39\dbch\af31505\loch\f39 MessageText\~=\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf29\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 "Customer\~must\~have\~name"}{\rtlch\fcs1 
\af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \}\hich\af39\dbch\af31505\loch\f39 );
\par \hich\af39\dbch\af31505\loch\f39  
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule(}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 MaxLength}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 (NameProperty,\~50)
\par \~\~\~\~\~\~\~\~\~\~\{\hich\af39\dbch\af31505\loch\f39 Priority\~=\~\hich\af39\dbch\af31505\loch\f39 1,\~MessageText\~=\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf29\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 
\hich\af39\dbch\af31505\loch\f39 "\{0\}\~cannot\~be\~longer\~than\~\{1\}\~chars"}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \}\hich\af39\dbch\af31505\loch\f39 );
\par \hich\af39\dbch\af31505\loch\f39  
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule(}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 MinValue}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 <}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 int}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 >(Num1Property,\~5)\~
\par \~\~\~\~\~\~\~\~\~\~\{\~\hich\af39\dbch\af31505\loch\f39 MessageText\~=\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf29\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 "Num1\~must\~be\~larger\~than\~or\~equal\~
to\~\{1\}"}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\}\hich\af39\dbch\af31505\loch\f39 );
\par \~\~\~\~\~\~
\par \~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid13323292 \}}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid11682118\charrsid13323292 
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid13323292 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid15929817 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15929817 \hich\af31506\dbch\af31505\loch\f31506 
When you create your own rules you must overr\hich\af31506\dbch\af31505\loch\f31506 ide the GetMessage method to return the default message if the test is not overridden. Example from the Required rule:
\par }\pard\plain \ltrpar\s43\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15929817 \cbpat26 
\rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 \fs20\lang1044\langfe1044\loch\af2\hich\af2\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{\rtlch\fcs1 
\af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817 \hich\af39\dbch\af31505\loch\f39    }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf15\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 ///}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf11\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf15\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 <summary>}
{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 
\par \~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf15\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 ///}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf11\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\hich\af39\dbch\af31505\loch\f39 Gets\~the\~error\~message.}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 
\par \~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf15\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 ///}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf11\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf15\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 </summary>}{\rtlch\fcs1 \af39 
\ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\~\~}{\rtlch\fcs1 \af39 
\ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 protected}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{\rtlch\fcs1 \af39 
\ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 override}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{\rtlch\fcs1 \af39 
\ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 string}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~
\hich\af39\dbch\af31505\loch\f39 GetMessage()
\par \~\~\~\~\{
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 return}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\hich\af39\dbch\af31505\loch\f39 HasMessageDelegate\~?\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817 
\par \hich\af39\dbch\af31505\loch\f39                 }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 base}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 .MessageText\~:\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817 
\par \hich\af39\dbch\af31505\loch\f39                 }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 Csla.Properties.Resources.StringRequiredRule;
\par \~\~\~\~\}
\par \hich\af39\dbch\af31505\loch\f39  
\par \~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 protected}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 override}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 void}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\hich\af39\dbch\af31505\loch\f39 Execute(RuleContext\~context)
\par \~\~\~\~\{
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 var}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\hich\af39\dbch\af31505\loch\f39 value\~=\~context.InputPropertyValues[PrimaryProperty];
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 if}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\hich\af39\dbch\af31505\loch\f39 (value\~==\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 
\hich\af39\dbch\af31505\loch\f39 null}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\hich\af39\dbch\af31505\loch\f39 ||\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 string}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 
.IsNullOrWhiteSpace(value.ToString()))
\par \~\~\~\~\~\~\{
\par \~\~\~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 var}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\hich\af39\dbch\af31505\loch\f39 message\~=\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 
\hich\af39\dbch\af31505\loch\f39 string}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 .Format(GetMessage(),\~PrimaryProperty.FriendlyName);
\par \~\~\~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 context.Results.Add(}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \~\hich\af39\dbch\af31505\loch\f39 RuleResult(RuleName,\~PrimaryProperty,\~message)\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817 
\par \hich\af39\dbch\af31505\loch\f39                 \hich\af39\dbch\af31505\loch\f39                  }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid15929817\charrsid15929817 \{\~\hich\af39\dbch\af31505\loch\f39 Severity\~=\~
Severity\~\});
\par \~\~\~\~\~\~\}
\par \~\~\~\~\}
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.4 Set a cus}{\rtlch\fcs1 
\af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 t}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 
om localizable message on business rule
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid15929817 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15929817 \hich\af31506\dbch\af31505\loch\f31506 
All rules that inherit from Csla.BusinessRules.CommonRules.CommonBusinessRule will allow you to override the default message and set a local\hich\af31506\dbch\af31505\loch\f31506 izable custom message. }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 Localizable string is placed inside resource files and you MUST use theMessageDelegate lambda to set the message in order to support multiple cultures. }{\rtlch\fcs1 
\af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15929817 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 Example:
\par }\pard\plain \ltrpar\s43\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8936603 \cbpat26 
\rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 \fs20\lang1044\langfe1044\loch\af2\hich\af2\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \~\~\~\~}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 protected}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \~}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 override}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \~}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 void}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \~
\hich\af39\dbch\af31505\loch\f39 AddBusinessRules()
\par \~\~\~\~\{
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf11\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 //\~add\~\hich\af39\dbch\af31505\loch\f39 authorization\~rules\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf11\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 //\~MessageDelegate\~takes\~an\~anonymous\~function\~that\~returns\~the\~message.\~}{\rtlch\fcs1 \af39 
\ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\par \~\~\~\~\~\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf11\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 //\~this\~allows\~you\~to\~use\~ResourceString\~and\~get\~the\~string}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf11\lang1033\langfe1044\langnp1033\insrsid8936603 
\par \hich\af39\dbch\af31505\loch\f39       //}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf11\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \~\hich\af39\dbch\af31505\loch\f39 associated\~with\~the\~current\~Threads\~CurrentCulture.\~}{\rtlch\fcs1 
\af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule\hich\af39\dbch\af31505\loch\f39 (}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 
\af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 Required}{\rtlch\fcs1 
\af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 (NameProperty)}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603 
\par \hich\af39\dbch\af31505\loch\f39               }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \{\hich\af39\dbch\af31505\loch\f39 MessageDelegate\~=\~()\~=>\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 Resources}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 
.NameRequired\});
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule(}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 MaxLength}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 (NameProperty,\~50)}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603 
\par \hich\af39\dbch\af31505\loch\f39               }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \{\hich\af39\dbch\af31505\loch\f39 Priority\~=\~1,\~MessageDelegate\~=\~()\~=>\~}{\rtlch\fcs1 \af39 
\ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 Resources}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\hich\af39\dbch\af31505\loch\f39 .NameMaxLength\});
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.Add\hich\af39\dbch\af31505\loch\f39 Rule(}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 
\af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 MinValue}{\rtlch\fcs1 
\af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 <}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 
\hich\af39\dbch\af31505\loch\f39 int}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 >(Num1Property,\~5)\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603 
\par \hich\af39\dbch\af31505\loch\f39               }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \{\~\hich\af39\dbch\af31505\loch\f39 MessageDelegate\~=\~()\~=>\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf27\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 Resources}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid8936603\charrsid8936603 \hich\af39\dbch\af31505\loch\f39 
.Num1MinValue\~\});
\par \~\~\~\~\}
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid15929817 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid8936603 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 5 Gateway rules (inner rules)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 
Gateway rules wraps other rules as inner rule. You can create generic}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5908906 \hich\af31506\dbch\af31505\loch\f31506  gateway rules }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 that wraps }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5908906 \hich\af31506\dbch\af31505\loch\f31506 any }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 one rule or specific }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5908906 \hich\af31506\dbch\af31505\loch\f31506  }{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid8936603 \hich\af31506\dbch\af31505\loch\f31506 ones that have several inner rules and your code in Execut}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5908906 
\hich\af31506\dbch\af31505\loch\f31506 e determins which rule(s)  to call. Gateway rules can be tricky to get right and you must follow these guidelines: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \b\i\f31506\fs22\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af31506\dbch\af31505\loch\f31506 1.\tab}}\pard \ltrpar\ql \fi-360\li1440\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin1440\itap0\pararsid5908906 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\i\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af31506\dbch\af31505\loch\f31506 
Add all InputProperties and AffectedProperties from the i\hich\af31506\dbch\af31505\loch\f31506 nner rules to the gateway rule}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\i\lang1033\langfe1044\langnp1033\insrsid5908906 .
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \b\i\f31506\fs22\lang1033\langfe1044\langnp1033\insrsid5908906 \hich\af31506\dbch\af31505\loch\f31506 2.\tab}\hich\af31506\dbch\af31505\loch\f31506 
Consider what should be the rule URI. If only one rule is the inner rule use the inner rule URI for the gateway rule. 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \b\i\f31506\fs22\lang1033\langfe1044\langnp1033\insrsid5908906 \hich\af31506\dbch\af31505\loch\f31506 3.\tab}\hich\af31506\dbch\af31505\loch\f31506 
Use GetChainedContext in the Execute method. 
\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5908906 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5908906 
\hich\af31506\dbch\af31505\loch\f31506 Example for CanWrite Gateway rule can wrap any Business Rule as inner rule to validate the field when the user is allowed to edit.
\par }\pard\plain \ltrpar\s43\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5908906 \cbpat26 
\rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 \fs20\lang1044\langfe1044\loch\af2\hich\af2\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \~\~\~\~\~\~}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf11\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 //\~required\~only\~when\~user\~can\~write\~to\~field}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule(}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 CanWrite}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 (NoteProperty,\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 
\hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 
\hich\af39\dbch\af31505\loch\f39 Required}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 (NoteP\hich\af39\dbch\af31505\loch\f39 roperty)));
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule(}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 CanWrite}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 (NoteProperty,\~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906 
\par \tab \tab \tab \tab }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf2\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \~}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf27\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 MaxLength}{\rtlch\fcs1 \af39 \ltrch\fcs0 
\f39\cf1\lang1033\langfe1044\langnp1033\insrsid5908906\charrsid5908906 \hich\af39\dbch\af31505\loch\f39 (NoteProperty,\~100)\~\{Priority\~=\~1\}));
\par }\pard\plain \ltrpar\ql \fi360\li360\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid14489023 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5908906 \hich\af31506\dbch\af31505\loch\f31506  }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 6 Transformation rules }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5908906 \hich\af31506\dbch\af31505\loch\f31506 
Transformation rules will inspect the property value and format as required. Take for example fields that must be either Upper or Lower case, Trim leading and trailing spaces, Collapse repeated sp}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid12851489 \hich\af31506\dbch\af31505\loch\f31506 a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5908906 \hich\af31506\dbch\af31505\loch\f31506 ces or d}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid13320215 \hich\af31506\dbch\af31505\loch\f31506 o}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid5908906 \hich\af31506\dbch\af31505\loch\f31506  calculations}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid13320215 \hich\af31506\dbch\af31505\loch\f31506  like Sum in a spreadsheet.  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12335729 \hich\af31506\dbch\af31505\loch\f31506 These ru
\hich\af31506\dbch\af31505\loch\f31506 les will typically use InputProperties and call AddOutValue to update the field. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid1915853 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid13320215 \hich\af31506\dbch\af31505\loch\f31506 This sample includes these rules:
\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid1915853 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid13320215 
\hich\af31506\dbch\af31505\loch\f31506 CalcSum\tab Calculates the sum of any number of numeric fields into PrimaryProperty\line CollapseSpace\tab Remove repeated spaces from field\line ToLower\tab Make\hich\af31506\dbch\af31505\loch\f31506 
 field lower case}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid12851489 \line \hich\af31506\dbch\af31505\loch\f31506 ToTitleCase \tab Format string field as TitleCase as per CurrentCulture.}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid13320215 \line \hich\af31506\dbch\af31505\loch\f31506 ToTrim\tab \tab Trim leading and trailing whitespaces \line ToUpper\tab Make field upper case}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 7 CompareFields rules}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid13323292 \hich\af31506\dbch\af31505\loch\f31506 
CompareFields rules will compare 2 fields using the iComparable inte\hich\af31506\dbch\af31505\loch\f31506 rface. These rules uses InputProperties and (starting from 4.2) will not require additional Dependency rules.  These rules are:}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid13323292 \hich\af31506\dbch\af31505\loch\f31506 GreaterThan \tab \tab Field1 must be greater than Field2\line GreaterThanOrEqual \tab Field1 must be greater than or equal to Field2
\line LessThan\tab \tab Fi\hich\af31506\dbch\af31505\loch\f31506 eld1 must be less than Field2\line LessThanOrEqual\tab Field1 must be less than or equal Field2\line Range \tab \tab \tab Field must be between 2 constant values }{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid13323292\charrsid11682118 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 8 Lookup rules }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid7624899 \hich\af31506\dbch\af31505\loch\f31506 
This sample shows how to create a synchronous lookup rule for use in an ASP.NET web application or s\hich\af31506\dbch\af31505\loch\f31506 
erverside rule in an N-tier deployment. The LookupCustomer rule uses a LookupCustomerCommandObject for a simple lookup. For more complex lookups you may choose to use ReadOnly objects. }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid11682118 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid7624899 \hich\af31506\dbch\af31505\loch\f31506 LookupCustomer   \tab Do a synchronous lookup and uses AddOutValue to upda\hich\af31506\dbch\af31505\loch\f31506 te BO. 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 \hich\af31506\dbch\af31505\loch\f31506 Note: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid6319459 
\hich\af31506\dbch\af31505\loch\f31506 Expensive lookup rules should generally have:
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid7624899 \cbpat26 {\rtlch\fcs1 
\af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 CanRunAsAffectedProperty\~=\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 \hich\af39\dbch\af31505\loch\f39 false}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 
\hich\af39\dbch\af31505\loch\f39 ;\~\~\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf11\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 \hich\af39\dbch\af31505\loch\f39 //\~only\~run\~when\~this\~property\~is\~changed\~}{\rtlch\fcs1 
\af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 CanRunInCheckRules\~=\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 \hich\af39\dbch\af31505\loch\f39 true}{\rtlch\fcs1 \af39\afs20 
\ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 \hich\af39\dbch\af31505\loch\f39 ;\~\~\~\~\~\~\~\~\~\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf11\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 \hich\af39\dbch\af31505\loch\f39 //\~when\~true\~will\~run\~in\~CheckRules}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 CanRunOnServer\~=\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 \hich\af39\dbch\af31505\loch\f39 false}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 \hich\af39\dbch\af31505\loch\f39 ;\~\~\~\~\~\~\~\~\~\~\~\~\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf11\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 
\hich\af39\dbch\af31505\loch\f39 //\~when\~true\~will\~run\~on\~logical\~server}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf11\lang1033\langfe1044\langnp1033\insrsid6319459 \hich\af39\dbch\af31505\loch\f39 side\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid7624899\charrsid7624899 
\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid6319459 
\hich\af31506\dbch\af31505\loch\f31506 Resulting in that the expensive rule will execute only on the client side when the property is changed or <bo>.CheckRules is called.  <bo>.CheckRules will typically be called by the CslaModelBinder usin
\hich\af31506\dbch\af31505\loch\f31506 g the Csla.Core. ICheckRules interface}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid7624899\charrsid11682118 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 9 Async lookup rules }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid7624899 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid7624899 \hich\af31506\dbch\af31505\loch\f31506 
This sample shows how to create a asynchronous lookup rule for use in an rich client application as WinForms, WPF or Silverlight. The LookupCustomer rule uses the same  LookupCustomerCommandObj\hich\af31506\dbch\af31505\loch\f31506 
ect for a simple lookup but now uses the async dataportal. For more complex lookups you may choose to use ReadOnly objects. 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 \hich\af31506\dbch\af31505\loch\f31506 Async rules should typically be used only for rules that require data access or webservice call in execute method}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1044\langnp1033\insrsid6319459 \hich\af31506\dbch\af31505\loch\f31506  and only run In t\hich\af31506\dbch\af31505\loch\f31506 he client side (UI) when a user edits a value}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\b\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 \hich\af31506\dbch\af31505\loch\f31506 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1044\langnp1033\insrsid6319459 \hich\af31506\dbch\af31505\loch\f31506 
Async rules should never run in the DataAccess side (logical server side) as the object may be serialized and sent back in an indefinite state when async rules are still executing. }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\b\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid7624899 \hich\af31506\dbch\af31505\loch\f31506 AsyncLookupCustomer  Do a a\hich\af31506\dbch\af31505\loch\f31506 synchronous lookup and uses AddOutValue to update BO. 
\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid6319459 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 
\hich\af31506\dbch\af31505\loch\f31506 Note: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1044\langnp1033\insrsid6319459 \hich\af31506\dbch\af31505\loch\f31506 Asynchronous }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\i\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 \hich\af31506\dbch\af31505\loch\f31506 lookup rules should generally have:
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6319459 \cbpat26 {\rtlch\fcs1 
\af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 CanRunAsAffectedProperty\~=\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 \hich\af39\dbch\af31505\loch\f39 false}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 
\hich\af39\dbch\af31505\loch\f39 ;
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 CanRunInCheckRules\~=\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 \hich\af39\dbch\af31505\loch\f39 false}{\rtlch\fcs1 \af39\afs20 
\ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 \hich\af39\dbch\af31505\loch\f39 ;
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 CanRunOnServer\~=\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 \hich\af39\dbch\af31505\loch\f39 false}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid6319459\charrsid6319459 \hich\af39\dbch\af31505\loch\f39 ;
\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid7624899 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid6319459 
\par \hich\af31506\dbch\af31505\loch\f31506 Resulting in that the asynchronous \hich\af31506\dbch\af31505\loch\f31506 rule will only execute when the field is edited by the user in the UI. 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 10 Short circuiting rules }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid6443959 \hich\af31506\dbch\af31505\loch\f31506 
Short circuiting rules will stop the RuleEngine from processing rules. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15144033 \hich\af31506\dbch\af31505\loch\f31506 
This can be combined with Authz rules and DataAnnotation rules to create advanced va\hich\af31506\dbch\af31505\loch\f31506 lidation. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15144033 \hich\af31506\dbch\af31505\loch\f31506 
Ex: StopIfNotCanWrite rule will stop RuleProcessing if user is not allowed to edit the field. This is typically from an Authz rule that checks Roles or other business requirements like State is only allowed for US residents and then required. }{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15144033\charrsid11682118 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15144033 \hich\af31506\dbch\af31505\loch\f31506 Typical rules: \line StopIfNotCanWrite\tab Stop if CanWriteProperty returns false. \line StopIfIsNew\tab \tab Stop if BO is new\line 
StopIfNotIsNew\tab \tab Stop if BO is not new. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid15144033\charrsid11682118 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid11682118 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.1}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 \hich\af36\dbch\af31505\loch\f36  }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 Lambda rules }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3547975 \hich\af31506\dbch\af31505\loch\f31506 
Lamda rules can be used for simple custom validation without having to write a new class. T\hich\af31506\dbch\af31505\loch\f31506 hese rules also allow a custom error message as a constant o}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid16473444 \hich\af31506\dbch\af31505\loch\f31506 r}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3547975 \hich\af31506\dbch\af31505\loch\f31506  from a resource file}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid16473444 \hich\af31506\dbch\af31505\loch\f31506  and to set RuleSeverity}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3547975 \hich\af31506\dbch\af31505\loch\f31506 
. We recommend that you specify the generic type (AddRule<T>) to get a string typed lambda expression. 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1044\langnp1033\insrsid3547975 \hich\af31506\dbch\af31505\loch\f31506 NOTE: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 
\hich\af31506\dbch\af31505\loch\f31506 These rules should NOT be used for looku\hich\af31506\dbch\af31505\loch\f31506 ps or updating field values.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1044\langnp1033\insrsid3547975 
\hich\af31506\dbch\af31505\loch\f31506  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1044\langnp1033\insrsid16473444 \hich\af31506\dbch\af31505\loch\f31506  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1044\langnp1033\insrsid3547975 
\hich\af31506\dbch\af31505\loch\f31506 And }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1044\langnp1033\insrsid16473444 \hich\af31506\dbch\af31505\loch\f31506 
you will need to add Dependency rules when comparing fields to keep rule updated whenever one of the fields are changed. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid11682118\charrsid3547975 
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3547975 \cbpat26 {\rtlch\fcs1 
\af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule<}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf27\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \hich\af39\dbch\af31505\loch\f39 Root}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 
\hich\af39\dbch\af31505\loch\f39 >(Num1Property,\~o\~=>\~o.Num1\~>\~3,}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975 
\par \tab }{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf29\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 
\hich\af39\dbch\af31505\loch\f39 "\{0\}\~must\~be\~larger\~than\~3"}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \hich\af39\dbch\af31505\loch\f39 );}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975 
\par }{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid16473444\charrsid3547975 
\par }{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule<}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf27\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \hich\af39\dbch\af31505\loch\f39 Root}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 
\hich\af39\dbch\af31505\loch\f39 >(Num2Property,\~o\~=>\~o.Num2\~>\~Num1,\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975 
\par \tab }{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \hich\af39\dbch\af31505\loch\f39 ()\~=>\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf27\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \hich\af39\dbch\af31505\loch\f39 Resources}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 
\hich\af39\dbch\af31505\loch\f39 .Num2LargerThanNum1,\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf30\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \hich\af39\dbch\af31505\loch\f39 RuleSeverity}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \hich\af39\dbch\af31505\loch\f39 .Warning);
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule(}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf27\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \hich\af39\dbch\af31505\loch\f39 Dependency}{\rtlch\fcs1 
\af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3547975\charrsid3547975 \hich\af39\dbch\af31505\loch\f39 (Num1Property,\~Num2Property));
\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid11682118 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3547975\charrsid11682118 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid948144 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.1}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144\charrsid11682118 \hich\af36\dbch\af31505\loch\f36  }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 Rule subclass}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid948144 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid14489023 \hich\af31506\dbch\af31505\loch\f31506 This sample presents subclassed 
\hich\af31506\dbch\af31505\loch\f31506 rules.  As rules are now classes you can also create your own specialized subclass rules. As an here is 3 sublassed rules from Required rules. }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid948144 
\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid14489023 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid14489023 
\hich\af31506\dbch\af31505\loch\f31506 RequiredwhenCanWrite\tab \tab Field is required when user can edit.\line RequiredWhenIsNotNew \tab Field is required if object is\hich\af31506\dbch\af31505\loch\f31506  not new.\line RequiredWhenNew   \tab \tab 
Field is required if object is new. 
\par \hich\af31506\dbch\af31505\loch\f31506 From my own experience I\hich\f31506 \rquote \loch\f31506 
d rather look at gateway rules and combine with Authorization rules to use a more general approach. Gateway rules, when written properly, can wrap any rule and then\hich\af31506\dbch\af31505\loch\f31506  require less testcode.}{\rtlch\fcs1 \af39\afs19 
\ltrch\fcs0 \f39\fs19\lang1033\langfe1044\langnp1033\insrsid14489023 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \f39\fs19\lang1033\langfe1044\langnp1033\insrsid12351560 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid14489023\charrsid11682118 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid14489023 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid14489023\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 2.1}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid14489023 \hich\af36\dbch\af31505\loch\f36 2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid14489023\charrsid11682118 \hich\af36\dbch\af31505\loch\f36  }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid14489023 \hich\af36\dbch\af31505\loch\f36 Addon Property rules}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid14489023\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid14489023 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid14489023 \hich\af31506\dbch\af31505\loch\f31506 
This sample presents addon property rules. The Range }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3096956 \hich\af31506\dbch\af31505\loch\f31506 
rule from DataAnnotations is nice and is not part of the builtin CSLA rules and I often find that I need the reverse type of dependency from that of th\hich\af31506\dbch\af31505\loch\f31506 
e built in Dependency rule that is now possible with the updates to CSLA 4.2.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid14489023 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3096956 \hich\af31506\dbch\af31505\loch\f31506 DependencyFrom \tab Recheck rules for property when any of the input properties changes\line Range \tab \tab \tab 
Field must be within the specified range. 
\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid3096956 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3096956 
\hich\af31506\dbch\af31505\loch\f31506 Sample usage:
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3096956 \cbpat26 {\rtlch\fcs1 
\af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule(}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 \~}{\rtlch\fcs1 \af39\afs20 
\ltrch\fcs0 \f39\fs20\cf27\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 \hich\af39\dbch\af31505\loch\f39 DependencyFrom}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 
\hich\af39\dbch\af31505\loch\f39 (SumProperty,\~Num1Property,}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3096956 \line \hich\af39\dbch\af31505\loch\f39                                                }{
\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 \~\hich\af39\dbch\af31505\loch\f39 Num2Property,\~Num3Property));
\par \~\~\~\~\~\~\hich\af39\dbch\af31505\loch\f39 BusinessRules.AddRule(}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf2\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 \hich\af39\dbch\af31505\loch\f39 new}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 \~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf27\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 \hich\af39\dbch\af31505\loch\f39 Range}{\rtlch\fcs1 
\af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 \hich\af39\dbch\af31505\loch\f39 (Num1Property,\~1,\~10,\~}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 
\f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3096956 \line \hich\af39\dbch\af31505\loch\f39                                       }{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf29\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 
\hich\af39\dbch\af31505\loch\f39 "Num1\~must\~be\~between\~1\~and\~10\~to\~\hich\af39\dbch\af31505\loch\f39 be\~valid."}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf1\lang1033\langfe1044\langnp1033\insrsid3096956\charrsid3096956 
\hich\af39\dbch\af31505\loch\f39 ));
\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid3096956 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid3096956 
\par \hich\af31506\dbch\af31505\loch\f31506 The DependencyFrom rule will make the rule engine recheck rules for Sum when any of the Num1, Num2 or Num3 fields are changed. 
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid948144 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 
\b\fs26\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 3}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid948144\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 Object business rules}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144\charrsid11682118 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid948144 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 
\b\fs22\cf18\lang1044\langfe1044\loch\af36\hich\af36\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 3}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid948144\charrsid11682118 \hich\af36\dbch\af31505\loch\f36 .1 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1044\langnp1033\insrsid948144 \hich\af36\dbch\af31505\loch\f36 Object rules}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe1044\langnp1033\insrsid948144\charrsid11682118 
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1044\langfe1044\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1044\langfenp1044 {\rtlch\fcs1 
\af37 \ltrch\fcs0 \f37\lang1033\langfe1044\langnp1033\insrsid12351560\charrsid11682118 
\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f
7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87
615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad
79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b
5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab
999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9
699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586
8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6
0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f
9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be
15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979
3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d
32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a
f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86
e877f0034e16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb
44f95d843b5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a
6409fb44d08741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c
3d9058edf2c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db0256
5e85f3b9660d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276
b9f7dec44b7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8
c33585b5fb9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e
51440ca2e0088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95
b21be5ceaf8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff
6dce591a26ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec6
9ffb9e65d028d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239
b75a5bb1e6345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a449
59d366ad93b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e8
2db8df9f30254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468
656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4
350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d2624
52282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe5141
73d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000
0000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000
000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019
0200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b00001600000000
000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027
00000000000000000000000000a00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d0100009b0a00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000b065
3c61f8eecc01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}